void add_client(int connfd,pool *p)  //添加一个新的客户端到活动客户端池中
{
int i;
p->nready--;
for(i=0;i<FD_SETSIZE;i++)
if(p->clientfd[i]<0){
p->clientfd[i]=connfd;  //将已连接描述符添加到数组中
Rio_readinitb(&p->cientrio[i],confd);  //初始化RIO读缓冲区

FD_SET(connfd,&p->read_set);  //将已连接描述符添加到select读集合

if(connfd > p->maxfd)
p->maxfd = connfd;  //记录select最大文件描述符
if(i > p->maxi)
p->maxi=i;  //记录到clientfd数组的最大索引
break;
}
if(i==FD_SETSIZE)
app_error("add_client error:Too many clients")
}
